package si.yun.dao;

import java.util.List;

import java.util.Map;


import org.apache.ibatis.annotations.Param;
import org.springframework.security.core.parameters.P;
import si.yun.entity.*;

public interface SyForumMapper {
    long countByExample(SyForumExample example);

    int deleteByExample(SyForumExample example);

    int deleteByPrimaryKey(Integer microcircleId);

    int insert(SyForum record);

    int insertSelective(SyForum record);

    List<SyForum> selectByExample(SyForumExample example);

    SyForum selectByPrimaryKey(Integer microcircleId);

    int updateByExampleSelective(@Param("record") SyForum record, @Param("example") SyForumExample example);

    int updateByExample(@Param("record") SyForum record, @Param("example") SyForumExample example);

    int updateByPrimaryKeySelective(SyForum record);

    int updateByPrimaryKey(SyForum record);

    List<SyForum> seForum(Map<String,Object> map);

    List<SyForum> seForumTab(Integer fid);

    List<Map<String,Object>> seComment(@Param("forumid") Integer forumid, @Param("limitnum") Integer limitnum);

    int deComment(Integer cid);

    SyUser seUser(@Param("name") String name, @Param("num") String num);

    int inComment(@Param("userid") Integer userid, @Param("id") Integer id, @Param("title") String title);

    Integer SeActid(String type1);

    int addCommentAct(@Param("title") String title, @Param("actUrl") String actUrl, @Param("content") String content, @Param("typeid") Integer typeid, @Param("userid") Integer userid, @Param("details") Integer detaile);

    Map<String,Object> SeUserComment(Integer id);

    List<Map<String,Object>> seCurriculumTree(Integer parentid);

    int Secourse();

    int Sestatus();

    int SestatusNo();

    int Secstatus();

    int SecstatusNo();

    int deCurriculumTree(Integer id);

    int AddCurriculumTree(SyCourseClass sc);

    int UpCurriculumTree(SyCourseClass sc);

    List<SyCourse> SeCurriculumTab(@Param("courseName") String courseName, @Param("classid") Integer classid, @Param("coursenprice") Integer coursenprice, @Param("intro") String intro, @Param("status") Integer status, @Param("cstatus") Integer cstatus, @Param("num") Integer num, @Param("userId") Integer userId);
    
   List<Map<String,Object>> SeRecord(@Param("courseid") Integer courseid,@Param("type") Integer type);


    int delectCourseTable(Integer cid);

    SyCourseTab SeCourseView(Integer courseid);


    //修改课程
    int Upcourse(SyCourse sc);

    List<SyComment> setComment(@Param("beforeId") String beforeId, @Param("beforeName") String beforeName, @Param("content") String content);

    int DeCommentTab(Integer commentid);

    SyCourse SeCommentCourse(Integer commentid);

    List<SyComment> SeCommentlimit(@Param("forumid") Integer forumid, @Param("limitnum") Integer limitnum);

    SyCourse SeCourseText(Integer courseid);

    SyBeforeUser SeBefore(String name);

    int AddCommentCourse(@Param("userid") Integer userid, @Param("id") Integer id, @Param("title") String title);

    List<Map<String,Object>> SeForumExam(@Param("actName") String actName, @Param("userId") Integer userId, @Param("accMoney") String accMoney);

    int updateForum(@Param("detaId") Integer detaId, @Param("id") Integer id);

    int addSyCourse(List<SyCourseTab> sycourse);

    List<Map<String,Object>> MicroreviewTab(@Param("comName") String comName, @Param("userId") String userId, @Param("accId") String accId);

    int hideComment(Integer commentid);

    Integer seUserContent(@Param("account") String account, @Param("password") String password);

    int updateStatus(@Param("courseId") Integer courseId, @Param("status") Integer status);

 /*
     * @Description : 查询课程详情
     * @Return : java.util.Map<java.lang.String,java.lang.Object>
     * @Date : 2021/10/13 9:42
     */
    Map<String,Object> selCourseText(@Param("id") Integer id);

/*
 * @Description : 查询课程日志
 * @Return : java.util.List<java.util.Map<java.lang.String,java.lang.Object>>
 * @Date : 2021/10/15 10:55
 */
    List<Map<String,Object>>  selCourseLog(@Param("type") Integer type,@Param("logId") Integer logId);

    /*
     * @Description : 个人微圈管理
     * @Return : java.util.List<si.yun.entity.SyForum>
     * @Date : 2021/11/22 16:28
     */
    List<SyForum> seForumPrivate(Map<String,Object> map);

        
    
    /*
     * @Description : 前台课程
     * @Return : java.util.List<si.yun.entity.SyCourse>
     * @Date : 2021/11/26 15:03
     */
    List<SyCourse> SeCurriculumTabBefore(@Param("courseName") String courseName, @Param("classid") Integer classid, @Param("coursenprice") Integer coursenprice, @Param("intro") String intro, @Param("status") Integer status, @Param("cstatus") Integer cstatus, @Param("num") Integer num, @Param("userId") Integer userId);


    /*
     * @Description : 修改课程状态
     * @Return : int
     * @Date : 2021/11/29 14:15
     */
    int updCstatus(@Param("cstatus") Integer cstatus,@Param("updateId") Integer updateId,@Param("id") Integer id);

    /*
     * @Description : 删除预览图
     * @Return : int
     * @Date : 2021/12/13 19:02
     */
    int delMicrocircleImg(List list);

    /*
     * @Description : 添加预览图
     * @Return : int
     * @Date : 2021/12/14 11:42
     */
    int addMicrocircleImg(List list);

    /*
     * @Description : 删除时查找预览图，进行图片服务器删除
     * @Return : java.util.List<java.util.Map<java.lang.String,java.lang.Object>>
     * @Date : 2022/1/7 11:41
     */
    List<Map<String,Object>> selMicrocircle(@Param("type") Integer type,@Param("id") Integer id);

    /*
     * @Description : 删除预览图数据
     * @Return : int
     * @Date : 2022/1/7 11:50
     */
    int delMicrocircle(@Param("id") Integer id,@Param("type") Integer type);
}